Cross-site workflow implementation
The Global Collaboration Framework supports cross-site workflow such that the next to-do person in a workflow can be located at a remote site. The feature will initiate an ownership transfer of the document to the home site of the to-do person or to the site where the work is to be performed. After import in the destination vault, the document will be put on the to-do list of the selected user.
Cross-site workflow has the following limitations:
- When implementing the Global Collaboration Framework in conjunction with the Meridian Advanced Document Workflow Module, please make sure to correctly handle the case of multiple to-do persons.
- When the Meridian Advanced Document Workflow module option Current workflow managers on the To-do persons property page of a workflow transition is enabled, then no ownership transfer will be initiated. This is because the to-do person is changed by the Meridian Enterprise server and the names of the to-do persons are not available in VBScript.
- It is implemented in the GcfEvents extension beginning with Global Collaboration Framework 2012 and so is not available to Web Access users.
The implementation must define a function that on every workflow transition determines the destination site for a specified list of to-do persons or a specified workflow state and transition. Determining the destination site can be implemented to suit your organization's environment.
For example, a Meridian Enterprise table can be used to store the names of all users that can participate in a workflow and the corresponding GCF share names of the vault where the user normally works. When the to-do person changes, the site of the new to-do person can be retrieved from this table and if the site is not the current GCF vault, a GCF transfer can be initiated to replicate the document and assign the selected to-do person. This implementation is shown in the following example:
Function InitiateTransferOwnershipOnWorkFlow(Person, wfType, wfDetails) InitiateTransferOwnershipOnWorkFlow = "" If Not IsArray(Person) Then ' Add your code for single todo person rv = vault.Table("Users").GetValues("UserName",Person,"Site") If IsArray(rv) Then InitiateTransferOwnershipOnWorkFlow = rv(0,0) End If Else ' Add your code for multiple todo persons End If End Function
Another possible scenario is when document approval in a workflow should be done at a different site. When a document gets promoted to the approval state, ownership should be transferred to the other site. This implementation is shown in the following example:
Function InitiateTransferOwnershipOnWorkFlow(Person, wfType, wfDetails) InitiateTransferOwnershipOnWorkFlow = "" If wfType = 1 Then If wfDetails = "ApprovalCheck" Then InitiateTransferOwnershipOnWorkFlow = "Engineering_Site" End If End If End Function